home *** CD-ROM | disk | FTP | other *** search
/ HyperLib 1997 Winter - Disc 1 / HYPERLIB-1997-Winter-CD1.ISO.7z / HYPERLIB-1997-Winter-CD1.ISO / オンラインウェア / PRG / ICProgKit 1.3.sit / ICProgKit1.3 / Internet Config Source / BitsOfPasLib.a next >
Text File  |  1995-04-22  |  2KB  |  112 lines

  1. %_SING    proc    export
  2.     MOVEM.L    D0-D4/A0-A2,-(A7)
  3.  
  4.     LEA        $0024(A7),A0
  5.     MOVE.W     (A0),D0
  6.     CLR.W      (A0)
  7.     MOVE.W     D0,D1
  8.     LSR.W      #$4,D1
  9.     MOVE.W     D1,D2
  10.     ADDQ.W     #$1,D2
  11.     MOVE.W     D2,D3
  12.     LSL.W      #$1,D3
  13.     MOVEA.L    A7,A1
  14.     SUBA.W     D3,A7
  15.     MOVEA.L    A7,A2
  16.     MOVE.W     #$0012,D4
  17.     MOVE.W     (A1)+,(A2)+
  18.     SUBQ.W     #$1,D4
  19.     BNE.S      *-$0004             ; 00000022
  20.     MOVEA.L    A2,A0
  21.     CLR.W      (A2)+
  22.     SUBQ.W     #$1,D2
  23.     BNE.S      *-$0004             ; 0000002A
  24.     MOVE.W     D3,(A0)+
  25.     CLR.W      D2
  26.     ANDI.W     #$000F,D0
  27.     BSET       D0,D2
  28.     MOVE.W     D2,(A0)
  29.     MOVEM.L    (A7)+,D0-D4/A0-A2
  30.     RTS        
  31.     endp
  32.  
  33. %_UNION    proc    export
  34.     CLR.L      -(A7)
  35.     MOVEM.L    D0-D3/A0/A1,-(A7)
  36.     LEA        $0020(A7),A0
  37.     MOVE.W     (A0)+,D0
  38.     ADDA.W     D0,A0
  39.     MOVEA.L    A0,A1
  40.     MOVE.W     (A1)+,D1
  41.     ADDA.W     D1,A1
  42.     MOVE.W     D0,D3
  43.     CMP.W      D0,D1
  44.     BGE.S      *+$0004             ; 0000001C
  45.     MOVE.W     D1,D3
  46.     LSR.W      #$1,D3
  47.     BRA.S      *+$0006             ; 00000024
  48.     MOVE.W     -(A0),D2
  49.     OR.W       D2,-(A1)
  50.     SUBQ.W     #$1,D3
  51.     BPL.S      *-$0006             ; 00000020
  52.     SUB.W      D1,D0
  53.     BEQ.S      *+$0012             ; 0000003C
  54.     BLT.S      *+$000E             ; 0000003A
  55.     ADD.W      D0,D1
  56.     LSR.W      #$1,D0
  57.     MOVE.W     -(A0),-(A1)
  58.     SUBQ.W     #$1,D0
  59.     BGT.S      *-$0004             ; 00000032
  60.     BRA.S      *+$0004             ; 0000003C
  61.     ADDA.W     D0,A1
  62.     MOVE.W     D1,-(A1)
  63.     MOVEA.L    $001C(A7),A0
  64.     MOVE.L     A0,-(A1)
  65.     MOVE.L     A1,$0018(A7)
  66.     MOVEM.L    (A7)+,D0-D3/A0/A1
  67.     MOVEA.L    (A7)+,A7
  68.     RTS        
  69.     endp
  70.  
  71. %_CAT    proc    export
  72.     MOVEM.L    D0-D2/A0-A2,-(A7)
  73.     LEA        $001C(A7),A1
  74.     MOVE.W     (A1)+,D0
  75.     MOVEA.L    (A1)+,A0
  76.     MOVE.W     D0,D2
  77.     ADD.W      D2,D2
  78.     ADD.W      D2,D2
  79.     ADDA.W     D2,A1
  80.     CLR.W      D1
  81.     ADDQ.W     #$1,A0
  82.     BRA.S      *+$0022             ; 0000003A
  83.     MOVEA.L    -(A1),A2
  84.     CLR.W      D2
  85.     MOVE.B     (A2)+,D2
  86.     ADD.W      D2,D1
  87.     CMPI.W     #$00FF,D1
  88.     BLE.S      *+$0010             ; 00000036
  89.     SUBI.W     #$00FF,D1
  90.     SUB.W      D1,D2
  91.     MOVE.W     #$00FF,D1
  92.     BRA.S      *+$0004             ; 00000036
  93.     MOVE.B     (A2)+,(A0)+
  94.     DBF        D2,*-$0002          ; 00000034
  95.     DBF        D0,*-$0020          ; 0000001A
  96.     MOVEA.L    -(A1),A0
  97.     MOVE.B     D1,(A0)
  98.     MOVE.W     -(A1),D0
  99.     MOVEA.L    A1,A0
  100.     ADD.W      D0,D0
  101.     ADD.W      D0,D0
  102.     ADDA.W     D0,A0
  103.     ADDQ.W     #$2,A0
  104.     MOVE.L     -(A1),(A0)
  105.     MOVE.L     A0,(A1)
  106.     MOVEM.L    (A7)+,D0-D2/A0-A2
  107.     MOVEA.L    (A7)+,A7
  108.     RTS        
  109.     endp
  110.  
  111.     end
  112.